This invention relates to integrated circuits, and more particularly, to integrated circuits with memory that is used in processing subwords of data.
Memory is widely used in the integrated circuit industry. Memory arrays are formed as part of integrated circuits such as application specific integrated circuits, programmable logic device integrated circuits, digital signal processors, microprocessors, microcontrollers, and memory chips.
Memory arrays often handle data in the form of relatively large data words. For example, data may be read from and written to memory arrays in 32-bit words. Words of this bit length are used to improve efficiency and reduce circuit overhead.
In arrangements in which data is handled in large words, each data word may contain multiple bytes of data. For example, a 32-bit word may contain four eight-bit bytes of data. The data bytes in the data word may sometimes be referred to as subwords.
Many modern data processing algorithms involve the manipulation of subwords of data. For example, it may be necessary to store and retrieve subwords of image data in a memory array when performing image compression. As another example, wireless communications standards such as the emerging 4G wireless communications standards may require the processing of individual subwords. With processing algorithms such as these, it may be desired, for example, to write subwords into a memory array in a column-wise fashion and to read subwords from the same memory array in a row-wise fashion. Operations such as these can be cumbersome in conventional memory arrays, because they require numerous full-word read and write operations and data manipulations such as data shifting and combining operations.
It would therefore be desirable to be able to provide improved memory circuits for handling subword processing operations on integrated circuits.